In many circumstances, it is advantageous to author documents using a collaborative approach. For example, in the newspaper industry, different reporters work on different stories that are to be incorporated into the same newspaper, and often, two or more reporters co-write a story (or “column”) or that newspaper. In the software industry, code developers typically apportion the code into sections (e.g., modules, functions, or routines) and then assign responsibility to different programmers (either individually or in groups) to prepare those sections. Indeed, in any industry where documents are prepared, whether the documentation is lengthy (e.g, textbooks, journal articles, or technical specifications) or concise (e.g., marketing brochures, contracts, or business proposals), multiple authors are tasked with working collaboratively to generate and edit the work product.
Documentation prepared in a word processing file can be saved locally on a personal computer or on a networked document management system. Conventionally, when a document is being prepared by a plurality of co-authors, one writer works on the draft at a time. The document may be “passed along” from one co-author to the next, or alternatively, different co-authors may author different sections of a draft and send them to another co-author for integration into a master word processing file.
Recently, software applications have been developed to facilitate collaborative editing of a document. Some applications enable more than one user to type text into a document at the same time. Some of these “real time collaborative editing” programs include “rules” for resolving conflicts that might otherwise result when, for example, users are editing the same sentence at the same time. Other programs avoid conflicts by using a central server to store documents in a repository and enable different users to “check-in” and “check-out” of the document to make changes and then make the document available to other users. To improve efficiency, some of these “non-real time collaborative editing” programs send indications to alert co-authors as to when a document has been “checked-out” or “checked back in,” and others enable a designated “master user” accept or decline edits proposed by other users.
Known collaborative editing software applications are generally intended for co-authoring a single document. Basically, collaborative editing software can enable co-authors to edit a document without having to physically mark-up a printed copy and pass the draft along from one author to the next.